assume cs:code

data segment
    ; 21 个年份
    db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982', '1983'
    db '1984', '1985', '1986', '1987', '1988', '1989', '1900', '1991', '1992' 
    db '1993', '1994', '1995'
    ; 每年收入
    dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
    dd 345980, 590827, 803530, 1183000, 1843000, 2759000, 3753000, 4649000, 5937000
    ; 每年雇员数
    dw 3, 7, 9, 13, 28, 38, 130, 220, 476, 778, 1001, 1442, 2258, 2793, 4037, 5635, 8226
    dw 11542, 14430, 15257, 17800
data ends

table segment
    db 21 dup ('year summ ne ?? ')
table ends

stack segment
    dw 8 dup (0)
stack ends

code segment

start:

    mov ax, stack
    mov ss, ax
    mov ax, 16
    mov sp, ax

    mov ax, data
    mov ds, ax
    mov bx, 0

    mov ax, table
    mov es, ax
    mov si, 0

    mov cx, 21

col1:

    mov ax, ds:[bx + 0]
    mov es:[si + 0], ax
    mov ax, ds:[bx + 2]
    mov es:[si + 2], ax

    add bx, 4
    add si, 16

    loop col1

    mov bx, 84
    mov si, 5
    mov cx, 21

col2:

    mov ax, ds:[bx]
    mov es:[si], ax
    mov ax, ds:[bx + 2]
    mov es:[si + 2], ax

    add bx, 4
    add si, 16

    loop col2

    mov bx, 168
    mov si, 10
    mov cx, 21

col3:

    mov ax, ds:[bx]
    mov es:[si], ax

    add bx, 2
    add si, 16

    loop col3

    mov si, 0
    mov cx, 21

col4:

    mov ax, es:[si + 5]
    mov dx, es:[si + 7]
    div word ptr es:[si + 10]
    mov es:[si + 13], ax

    add si, 16

    loop col4

    mov ax, 4c00h
    int 21h

code ends

end start